<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>prencar: MoveBackToLine Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="prencar.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">prencar
   &#160;<span id="projectnumber">1</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.8.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('class_move_back_to_line.html','');
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">MoveBackToLine Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>The <a class="el" href="class_move_back_to_line.html" title="The MoveBackToLine class will navigate car back to the line according to the stored information from ...">MoveBackToLine</a> class will navigate car back to the line according to the stored information from the given cubeApproach object.  
 <a href="class_move_back_to_line.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_move_back_to_line_8h_source.html">MoveBackToLine.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for MoveBackToLine:</div>
<div class="dyncontent">
<div class="center"><img src="class_move_back_to_line__inherit__graph.png" border="0" usemap="#_move_back_to_line_inherit__map" alt="Inheritance graph"/></div>
<map name="_move_back_to_line_inherit__map" id="_move_back_to_line_inherit__map">
<area shape="rect" id="node2" href="class_line_follow.html" title="LineFollow" alt="" coords="24,5,107,32"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for MoveBackToLine:</div>
<div class="dyncontent">
<div class="center"><img src="class_move_back_to_line__coll__graph.png" border="0" usemap="#_move_back_to_line_coll__map" alt="Collaboration graph"/></div>
<map name="_move_back_to_line_coll__map" id="_move_back_to_line_coll__map">
<area shape="rect" id="node2" href="class_line_follow.html" title="LineFollow" alt="" coords="572,277,655,304"/><area shape="rect" id="node18" href="class_cube_approach.html" title="CubeApproach" alt="" coords="492,368,599,395"/><area shape="rect" id="node35" href="class_line_center.html" title="The LineCenter class centers the car on the line." alt="" coords="383,368,467,395"/><area shape="rect" id="node4" href="class_move.html" title="Move" alt="" coords="483,187,535,213"/><area shape="rect" id="node25" href="class_extended_move.html" title="Allows to define extended car control instuctions." alt="" coords="211,277,317,304"/><area shape="rect" id="node7" href="class_communication.html" title="Communication" alt="" coords="411,96,523,123"/><area shape="rect" id="node9" href="class_command.html" title="A Command object represents a command sent from the host software." alt="" coords="5,5,85,32"/><area shape="rect" id="node12" href="class_configuration.html" title="Configuration" alt="" coords="635,5,732,32"/><area shape="rect" id="node23" href="struct_cube_detection.html" title="CubeDetection" alt="" coords="679,277,785,304"/><area shape="rect" id="node30" href="struct_move_command.html" title="MoveCommand" alt="" coords="291,187,401,213"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="class_move_back_to_line-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a703b0c91750c6cb4a1203aa8e83452be"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_move_back_to_line.html#a703b0c91750c6cb4a1203aa8e83452be">MoveBackToLine</a> ()</td></tr>
<tr class="memitem:ab5f8b99d6379511c6ed09b4f50432641"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_move_back_to_line.html#ab5f8b99d6379511c6ed09b4f50432641">begin</a> ()</td></tr>
<tr class="memitem:a2481a81f7c90dee23d229911c8821e65"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_move_back_to_line.html#a2481a81f7c90dee23d229911c8821e65">doJob</a> ()</td></tr>
<tr class="memitem:a8b48709e127b00072dcce276cff5055b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_move_back_to_line.html#a8b48709e127b00072dcce276cff5055b">startIt</a> (<a class="el" href="class_cube_approach.html">CubeApproach</a> *<a class="el" href="_state_machine_8h.html#ad5f3c64cf1a6afd0af12270f4a539ce8ae0dc916c0e29132e7162d68bfd586d1f">cubeApproach</a>)</td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a688a4ed1c80d6e0b419e30fcca9534d7"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_move_back_to_line.html#a688a4ed1c80d6e0b419e30fcca9534d7">lineHasBeenReached</a></td></tr>
<tr class="memdesc:a688a4ed1c80d6e0b419e30fcca9534d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This variable is set to true as soon as the line has been reached but the car is not yet centered.  <a href="#a688a4ed1c80d6e0b419e30fcca9534d7"></a><br/></td></tr>
<tr class="memitem:ab26ab46222db08890998a00b9475bf50"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_move_back_to_line.html#ab26ab46222db08890998a00b9475bf50">isBackOnLine</a></td></tr>
<tr class="memdesc:ab26ab46222db08890998a00b9475bf50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Will be set to true as soon as the car is back on the line and the line centering process has finished.  <a href="#ab26ab46222db08890998a00b9475bf50"></a><br/></td></tr>
<tr class="memitem:a281d9785e63b445e7b77a6b3d5a63a19"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_move_back_to_line.html#a281d9785e63b445e7b77a6b3d5a63a19">errorNoCubeApproachInformation</a></td></tr>
<tr class="memdesc:a281d9785e63b445e7b77a6b3d5a63a19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to true if no cube approach information has been found.  <a href="#a281d9785e63b445e7b77a6b3d5a63a19"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a84fbbb886c4d7e2433f66d15e94c9045"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_extended_move.html">ExtendedMove</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_move_back_to_line.html#a84fbbb886c4d7e2433f66d15e94c9045">_extMove</a></td></tr>
<tr class="memdesc:a84fbbb886c4d7e2433f66d15e94c9045"><td class="mdescLeft">&#160;</td><td class="mdescRight">The reference to the extended move class.  <a href="#a84fbbb886c4d7e2433f66d15e94c9045"></a><br/></td></tr>
<tr class="memitem:a55c0781433a2d6821e809326870d48fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_cube_approach.html">CubeApproach</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_move_back_to_line.html#a55c0781433a2d6821e809326870d48fb">_cubeApproach</a></td></tr>
<tr class="memdesc:a55c0781433a2d6821e809326870d48fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference to a cube approach class with information about how to get back to the line.  <a href="#a55c0781433a2d6821e809326870d48fb"></a><br/></td></tr>
<tr class="memitem:a0646d987470af65de0848c93d4101e7f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_line_center.html">LineCenter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_move_back_to_line.html#a0646d987470af65de0848c93d4101e7f">lineCenter</a></td></tr>
<tr class="memitem:a5e5f03cfd5a5f8c4aa4baf179a4f4507"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_move_back_to_line.html#a5e5f03cfd5a5f8c4aa4baf179a4f4507">_timeMoveBackToLineStarted</a></td></tr>
<tr class="memitem:a01f22d109c4c4d7e3596f6014ed96a5f"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_move_back_to_line.html#a01f22d109c4c4d7e3596f6014ed96a5f">_timeLastMoveBackToLineCheck</a></td></tr>
<tr class="memdesc:a01f22d109c4c4d7e3596f6014ed96a5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the timestamp of the time when the last "move back to line" check was done.  <a href="#a01f22d109c4c4d7e3596f6014ed96a5f"></a><br/></td></tr>
<tr class="memitem:abbdf24358628d0b06eb9969fc1d88135"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_move_back_to_line.html#abbdf24358628d0b06eb9969fc1d88135">_reachingLineFromLeft</a></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>The <a class="el" href="class_move_back_to_line.html" title="The MoveBackToLine class will navigate car back to the line according to the stored information from ...">MoveBackToLine</a> class will navigate car back to the line according to the stored information from the given cubeApproach object. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000009">Todo:</a></b></dt><dd>write a detailed description </dd></dl>

<p>Definition at line <a class="el" href="_move_back_to_line_8h_source.html#l00015">15</a> of file <a class="el" href="_move_back_to_line_8h_source.html">MoveBackToLine.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a703b0c91750c6cb4a1203aa8e83452be"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_move_back_to_line.html#a703b0c91750c6cb4a1203aa8e83452be">MoveBackToLine::MoveBackToLine</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Constructur for the class with the hardware pins to use. </p>

<p>Definition at line <a class="el" href="_move_back_to_line_8cpp_source.html#l00009">9</a> of file <a class="el" href="_move_back_to_line_8cpp_source.html">MoveBackToLine.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ab5f8b99d6379511c6ed09b4f50432641"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_move_back_to_line.html#ab5f8b99d6379511c6ed09b4f50432641">MoveBackToLine::begin</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Prepares the <a class="el" href="class_move_back_to_line.html" title="The MoveBackToLine class will navigate car back to the line according to the stored information from ...">MoveBackToLine</a> object to work. The preparations done in here can not be done from within the constructor because of dependencies such as Serial communication. <b>This method needs to be called before this class can be fully used.</b> </p>

<p>Reimplemented from <a class="el" href="class_line_follow.html#afac0ad1ff185b7e5f9b47428cb2e5e48">LineFollow</a>.</p>

<p>Definition at line <a class="el" href="_move_back_to_line_8cpp_source.html#l00019">19</a> of file <a class="el" href="_move_back_to_line_8cpp_source.html">MoveBackToLine.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_move_back_to_line_ab5f8b99d6379511c6ed09b4f50432641_cgraph.png" border="0" usemap="#class_move_back_to_line_ab5f8b99d6379511c6ed09b4f50432641_cgraph" alt=""/></div>
<map name="class_move_back_to_line_ab5f8b99d6379511c6ed09b4f50432641_cgraph" id="class_move_back_to_line_ab5f8b99d6379511c6ed09b4f50432641_cgraph">
<area shape="rect" id="node3" href="class_line_center.html#a13e69abdd08c2da81f189e69642d980d" title="LineCenter::begin" alt="" coords="213,31,336,57"/><area shape="rect" id="node5" href="class_extended_move.html#a8ba9c560726a121efa0c78f26780e46a" title="ExtendedMove::getInstance" alt="" coords="385,56,567,83"/><area shape="rect" id="node7" href="class_extended_move.html#a4bf87fc8690c78ea76464cc8d006f528" title="ExtendedMove::ExtendedMove" alt="" coords="616,5,816,32"/><area shape="rect" id="node9" href="class_extended_move.html#aef13add1eb55a57abf64adbf4ae5f149" title="ExtendedMove::begin" alt="" coords="643,56,789,83"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_move_back_to_line_ab5f8b99d6379511c6ed09b4f50432641_icgraph.png" border="0" usemap="#class_move_back_to_line_ab5f8b99d6379511c6ed09b4f50432641_icgraph" alt=""/></div>
<map name="class_move_back_to_line_ab5f8b99d6379511c6ed09b4f50432641_icgraph" id="class_move_back_to_line_ab5f8b99d6379511c6ed09b4f50432641_icgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a18b495baeae11732b76d252b2b8341c8" title="StateMachine::begin" alt="" coords="213,5,355,32"/><area shape="rect" id="node5" href="class_state_machine.html#a7f7482a9af6910035a62f9c116165f60" title="StateMachine::getInstance" alt="" coords="403,5,581,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a2481a81f7c90dee23d229911c8821e65"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_move_back_to_line.html#a2481a81f7c90dee23d229911c8821e65">MoveBackToLine::doJob</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Does the job for which this class was written.<br/>
 This method has to be called in regular intervals (as short as possible).<br/>
 The left or right sensor (depending on the value _reachingLineFromLeft) is checked to see if the line has already been reached. If so the line centering process is done. </p>

<p>Reimplemented from <a class="el" href="class_line_follow.html#a93ff35747f2ae3bb26998f07243afc3c">LineFollow</a>.</p>

<p>Definition at line <a class="el" href="_move_back_to_line_8cpp_source.html#l00093">93</a> of file <a class="el" href="_move_back_to_line_8cpp_source.html">MoveBackToLine.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_move_back_to_line_a2481a81f7c90dee23d229911c8821e65_cgraph.png" border="0" usemap="#class_move_back_to_line_a2481a81f7c90dee23d229911c8821e65_cgraph" alt=""/></div>
<map name="class_move_back_to_line_a2481a81f7c90dee23d229911c8821e65_cgraph" id="class_move_back_to_line_a2481a81f7c90dee23d229911c8821e65_cgraph">
<area shape="rect" id="node3" href="class_line_follow.html#af85fe355ee0699cabc3c817d10aa8b9d" title="LineFollow::readLineSensors" alt="" coords="419,43,607,69"/><area shape="rect" id="node5" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="1491,144,1639,171"/><area shape="rect" id="node8" href="class_extended_move.html#ae80076eb8ea7ea00e7563e4bbf4657b6" title="ExtendedMove::stopCurrentQueue" alt="" coords="403,423,623,449"/><area shape="rect" id="node10" href="class_line_center.html#a736d4cd402c6dc398b374cae8aab5740" title="LineCenter::startIt" alt="" coords="731,93,856,120"/><area shape="rect" id="node13" href="class_line_center.html#aa466b77cad70e564633e106efde81d4f" title="LineCenter::doJob" alt="" coords="217,245,343,272"/><area shape="rect" id="node18" href="class_extended_move.html#a9bd37ba3d8f98170dd33c8726934735a" title="ExtendedMove::isExecutionInProcess" alt="" coords="393,372,634,399"/><area shape="rect" id="node20" href="class_move.html#a9c5dc5c3a98abece0c2f40085c3601be" title="Move::controlMotors" alt="" coords="1283,296,1421,323"/><area shape="rect" id="node27" href="class_line_center.html#a4496fa59d40b06887e2dbc881b9b4ce7" title="LineCenter::doCorrection" alt="" coords="431,245,596,272"/><area shape="rect" id="node23" href="class_move.html#af6b1197771f0540b0becc4117d8d272f" title="Move::setLeftMotorDirection" alt="" coords="1474,271,1657,297"/><area shape="rect" id="node25" href="class_move.html#a06e67dafd581bbd086da404a90c4eeec" title="Move::setRightMotorDirection" alt="" coords="1469,321,1661,348"/><area shape="rect" id="node29" href="class_extended_move.html#a816f77b595c0ca03d44dd21b2d4de5ba" title="ExtendedMove::startCurrentQueue" alt="" coords="683,245,904,272"/><area shape="rect" id="node32" href="class_extended_move.html#adfe6e7de87eab16e9a85ad5434819fee" title="ExtendedMove::executeCommand" alt="" coords="983,296,1203,323"/><area shape="rect" id="node36" href="class_extended_move.html#a80ce42b3578e4fa17b6b2e3a05a70054" title="ExtendedMove::getCurrentCommandInQueue" alt="" coords="952,245,1235,272"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_move_back_to_line_a2481a81f7c90dee23d229911c8821e65_icgraph.png" border="0" usemap="#class_move_back_to_line_a2481a81f7c90dee23d229911c8821e65_icgraph" alt=""/></div>
<map name="class_move_back_to_line_a2481a81f7c90dee23d229911c8821e65_icgraph" id="class_move_back_to_line_a2481a81f7c90dee23d229911c8821e65_icgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a32064aba8c9fa4afcb649d01aaf5fd78" title="StateMachine::doJob" alt="" coords="216,5,360,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a8b48709e127b00072dcce276cff5055b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_move_back_to_line.html#a8b48709e127b00072dcce276cff5055b">MoveBackToLine::startIt</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_cube_approach.html">CubeApproach</a> *&#160;</td>
          <td class="paramname"><em>cubeApproach</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Starts the "move back to line" process depending on the given cubeApproach object. </p>

<p>Definition at line <a class="el" href="_move_back_to_line_8cpp_source.html#l00034">34</a> of file <a class="el" href="_move_back_to_line_8cpp_source.html">MoveBackToLine.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_move_back_to_line_a8b48709e127b00072dcce276cff5055b_cgraph.png" border="0" usemap="#class_move_back_to_line_a8b48709e127b00072dcce276cff5055b_cgraph" alt=""/></div>
<map name="class_move_back_to_line_a8b48709e127b00072dcce276cff5055b_cgraph" id="class_move_back_to_line_a8b48709e127b00072dcce276cff5055b_cgraph">
<area shape="rect" id="node3" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="1025,44,1173,71"/><area shape="rect" id="node5" href="class_extended_move.html#a816f77b595c0ca03d44dd21b2d4de5ba" title="ExtendedMove::startCurrentQueue" alt="" coords="216,56,437,83"/><area shape="rect" id="node8" href="class_extended_move.html#adfe6e7de87eab16e9a85ad5434819fee" title="ExtendedMove::executeCommand" alt="" coords="517,81,737,108"/><area shape="rect" id="node18" href="class_extended_move.html#a80ce42b3578e4fa17b6b2e3a05a70054" title="ExtendedMove::getCurrentCommandInQueue" alt="" coords="485,132,768,159"/><area shape="rect" id="node11" href="class_move.html#a9c5dc5c3a98abece0c2f40085c3601be" title="Move::controlMotors" alt="" coords="816,132,955,159"/><area shape="rect" id="node14" href="class_move.html#af6b1197771f0540b0becc4117d8d272f" title="Move::setLeftMotorDirection" alt="" coords="1007,107,1190,133"/><area shape="rect" id="node16" href="class_move.html#a06e67dafd581bbd086da404a90c4eeec" title="Move::setRightMotorDirection" alt="" coords="1003,157,1195,184"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_move_back_to_line_a8b48709e127b00072dcce276cff5055b_icgraph.png" border="0" usemap="#class_move_back_to_line_a8b48709e127b00072dcce276cff5055b_icgraph" alt=""/></div>
<map name="class_move_back_to_line_a8b48709e127b00072dcce276cff5055b_icgraph" id="class_move_back_to_line_a8b48709e127b00072dcce276cff5055b_icgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a32064aba8c9fa4afcb649d01aaf5fd78" title="StateMachine::doJob" alt="" coords="216,5,360,32"/></map>
</div>
</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a55c0781433a2d6821e809326870d48fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_cube_approach.html">CubeApproach</a>* <a class="el" href="class_move_back_to_line.html#a55c0781433a2d6821e809326870d48fb">MoveBackToLine::_cubeApproach</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reference to a cube approach class with information about how to get back to the line. </p>

<p>Definition at line <a class="el" href="_move_back_to_line_8h_source.html#l00045">45</a> of file <a class="el" href="_move_back_to_line_8h_source.html">MoveBackToLine.h</a>.</p>

</div>
</div>
<a class="anchor" id="a84fbbb886c4d7e2433f66d15e94c9045"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_extended_move.html">ExtendedMove</a>* <a class="el" href="class_move_back_to_line.html#a84fbbb886c4d7e2433f66d15e94c9045">MoveBackToLine::_extMove</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The reference to the extended move class. </p>

<p>Definition at line <a class="el" href="_move_back_to_line_8h_source.html#l00044">44</a> of file <a class="el" href="_move_back_to_line_8h_source.html">MoveBackToLine.h</a>.</p>

</div>
</div>
<a class="anchor" id="abbdf24358628d0b06eb9969fc1d88135"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boolean <a class="el" href="class_move_back_to_line.html#abbdf24358628d0b06eb9969fc1d88135">MoveBackToLine::_reachingLineFromLeft</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>reachingLineFromLeft = true means that the car is reaching the line from the left hand side so the car has to check the left line sensor. reachingLineFromLeft = false means that the car is reaching the line from the right hand side so the car has to check the right line sensor. </p>

<p>Definition at line <a class="el" href="_move_back_to_line_8h_source.html#l00060">60</a> of file <a class="el" href="_move_back_to_line_8h_source.html">MoveBackToLine.h</a>.</p>

</div>
</div>
<a class="anchor" id="a01f22d109c4c4d7e3596f6014ed96a5f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long <a class="el" href="class_move_back_to_line.html#a01f22d109c4c4d7e3596f6014ed96a5f">MoveBackToLine::_timeLastMoveBackToLineCheck</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Holds the timestamp of the time when the last "move back to line" check was done. </p>
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="class_move_back_to_line.html#a2481a81f7c90dee23d229911c8821e65">doJob()</a> </dd></dl>

<p>Definition at line <a class="el" href="_move_back_to_line_8h_source.html#l00054">54</a> of file <a class="el" href="_move_back_to_line_8h_source.html">MoveBackToLine.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5e5f03cfd5a5f8c4aa4baf179a4f4507"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long <a class="el" href="class_move_back_to_line.html#a5e5f03cfd5a5f8c4aa4baf179a4f4507">MoveBackToLine::_timeMoveBackToLineStarted</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This variable holds the timestamp when the "move back to line" process was started. </p>

<p>Definition at line <a class="el" href="_move_back_to_line_8h_source.html#l00052">52</a> of file <a class="el" href="_move_back_to_line_8h_source.html">MoveBackToLine.h</a>.</p>

</div>
</div>
<a class="anchor" id="a281d9785e63b445e7b77a6b3d5a63a19"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boolean <a class="el" href="class_move_back_to_line.html#a281d9785e63b445e7b77a6b3d5a63a19">MoveBackToLine::errorNoCubeApproachInformation</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set to true if no cube approach information has been found. </p>
<p>The 'move back to line' process can not be started if there is no track back (cube approach recordings which have informations about how the line has been left are empty). In that case, the error flag is set to true. </p>

<p>Definition at line <a class="el" href="_move_back_to_line_8h_source.html#l00042">42</a> of file <a class="el" href="_move_back_to_line_8h_source.html">MoveBackToLine.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab26ab46222db08890998a00b9475bf50"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boolean <a class="el" href="class_move_back_to_line.html#ab26ab46222db08890998a00b9475bf50">MoveBackToLine::isBackOnLine</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Will be set to true as soon as the car is back on the line and the line centering process has finished. </p>

<p>Definition at line <a class="el" href="_move_back_to_line_8h_source.html#l00033">33</a> of file <a class="el" href="_move_back_to_line_8h_source.html">MoveBackToLine.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0646d987470af65de0848c93d4101e7f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_line_center.html">LineCenter</a> <a class="el" href="class_move_back_to_line.html#a0646d987470af65de0848c93d4101e7f">MoveBackToLine::lineCenter</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_move_back_to_line_8h_source.html#l00047">47</a> of file <a class="el" href="_move_back_to_line_8h_source.html">MoveBackToLine.h</a>.</p>

</div>
</div>
<a class="anchor" id="a688a4ed1c80d6e0b419e30fcca9534d7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boolean <a class="el" href="class_move_back_to_line.html#a688a4ed1c80d6e0b419e30fcca9534d7">MoveBackToLine::lineHasBeenReached</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This variable is set to true as soon as the line has been reached but the car is not yet centered. </p>
<p>With other words this means that the left (or right) line sensor has detected white ground so we can continue with the normal line following. </p>

<p>Definition at line <a class="el" href="_move_back_to_line_8h_source.html#l00028">28</a> of file <a class="el" href="_move_back_to_line_8h_source.html">MoveBackToLine.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>D:/Workspace/Arduino/prencar/<a class="el" href="_move_back_to_line_8h_source.html">MoveBackToLine.h</a></li>
<li>D:/Workspace/Arduino/prencar/<a class="el" href="_move_back_to_line_8cpp_source.html">MoveBackToLine.cpp</a></li>
</ul>
</div><!-- contents -->
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="class_move_back_to_line.html">MoveBackToLine</a>      </li>

    <li class="footer">Generated on Thu Jun 7 2012 20:47:46 for prencar by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.0 </li>
   </ul>
 </div>


</body>
</html>
